The present application relates to computing, and more specifically to software and accompanying mechanisms for facilitating communications between steps of a process-based software application and REpresentational State Transfer (REST) web services.
Mechanisms for facilitating communications between steps of a process-based software application and external services are employed in various demanding applications, including retrieving specific data from backend databases for use in business processes; accessing and/or leveraging software routines running on remote web servers, and so on. Such applications often demand efficient user friendly mechanisms for enabling developers, deployment managers, software configuration managers, and other users, to readily understand externally available computing resources and to readily set up process steps to use those available computing resources.
Conventionally, a developer of a process-based software application wishing to leverage functionality provided by a REST Application Programming Interface (API) or web service, must understand technical details of the API or web service. In particular, to code and/or configure a process step to appropriately call such a REST service, the developer must often have detailed knowledge of what protocols the service uses, which resources (e.g., data and/or functionality) are available via the service; how to appropriately format a call from a particular process step to the REST service, and so on. Such information is often provided, in part, in a Web Application Description Language (WADL) file, Yet Another Markup Language (YAML) file, or RESTful API Modelling Language (RAML) file characterizing the communications interface exposed by the REST service or API.
However, the requirement of in-depth developer knowledge of various REST services and associated WADL (and/or YAML, RAML, etc.) files can provide a barrier to efficient and accurate development of, use of, modification of, and deployment of process-based software applications.